//
//  CocoaSynthAppDelegate.h
//  CocoaSynth
//
//  Created by Jérémy Brault on 06/02/10.
//  Copyright 2010 None. All rights reserved.
//

#import <Cocoa/Cocoa.h>

@class Sequencer;

/*!
    @class			CocoaSynthAppDelegate 
    @superclass		NSObject <NSApplicationDelegate>
    @abstract		CocoaSynthAppDelegate is the application's delegate which means that it provides methods to manage the application's launching, 
					closing and updating.
*/
@interface CocoaSynthAppDelegate : NSObject <NSApplicationDelegate>
{
    NSWindow* window;
	BOOL started;
	Sequencer* sequencer;
	IBOutlet NSScrollView* bank;
	IBOutlet NSScrollView* mixingTable;
	IBOutlet NSView* keyboard;
	IBOutlet NSBox* parameters;
	IBOutlet NSView* display;
}

@property (assign) IBOutlet NSWindow* window;
@property (assign) NSScrollView* bank;
@property (assign) NSScrollView* mixingTable;
@property (assign) NSView* keyboard;
@property (assign) NSBox* parameters;

- (IBAction)start:(id)sender;
- (IBAction)stop:(id)sender;

- (IBAction)openAction:(id)sender;
- (IBAction)startStopAction:(id)sender;
- (IBAction)closeAction:(id)sender;
- (IBAction)displayBigBufferAction:(id)sender;
- (IBAction)pianoAction:(id)sender;

@end
